package com.yunhe.rentcars.pro.service.permi;



import com.yunhe.rentcars.commons.dto.Pageable;
import com.yunhe.rentcars.pro.entity.permi.Role;

import java.util.List;

/**
 * Created by Administrator on 2017/11/10 0010.
 */

public interface RoleService {
    /**
     * 增
     * @param role
     */
    void save(Role role, String permissionIds);

    /**
     * 删
     * @param roleid
     */
    void delete(Long roleid);

    /**
     * 批量删
     * @param ids
     */
    void deleteBatch(String ids);


    void update(Role role, String permissionIds);

    /**
     * 查单个权限
     * @param roleid
     * @return
     */
    Role find(Long roleid);

    /**
     * 查所有权限
     * @return
     */
    List<Role> findList();

    /**
     * 查所有可用的权限
     * @return
     */
    List<Role> findListCanUse();

    /**
     * 分页查询所有权限
     * @param offset
     * @param size
     * @return
     */
    Pageable<Role> findPage(Integer offset, Integer size);

    /**
     * 查询角色总数
     * @return
     */
    int count();

    /**
     * 插入角色权限信息
     * @param roleid
     * @param permisIdArr
     */
    void saveRolePermission(Long roleid, Long[] permisIdArr);



    /**
     * 删除某个角色的所有权限
     * @param roleid
     */
    void deleteRolePermission(Long roleid);
}
